package ve.com.wayoyo.wuml_case.DibujoDiagramas;

import ve.com.wayoyo.wuml_case.R;
import ve.com.wayoyo.wuml_case.DibujoDiagramas.CompConector._arrowType;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;

public class EditarConector extends Dialog {

	private LinearLayout _conector;
	private LinearLayout _padre;
	private LinearLayout _hijo;
	private CompConector _connectorSelected;
	private Componente _compPadre;
	private Componente _compHijo;
	private CheckBox _cb_padre;
	private CheckBox _cb_hijo;

	private int _conectorPadre;
	private int _conectorHijo;
	private int _lineType;

	private static final int ASOCIACION_PADRE = 1;
	private static final int ASOCIACION_HIJO = 2;
	private static final int GENERALIZACION_PADRE = 3;
	private static final int GENERALIZACION_HIJO = 4;
	private static final int COMPOSICION_PADRE = 5;
	private static final int COMPOSICION_HIJO = 6;
	private static final int AGREGACION_PADRE = 7;
	private static final int AGREGACION_HIJO = 8;
	private static final int REALIZACION_PADRE = 9;
	private static final int REALIZACION_HIJO = 10;
	private static final int DASHED_PADRE = 11;
	private static final int DASHED_HIJO = 12;
	private static final int ASOCIACION_DIRECTA_PADRE = 13;
	private static final int ASOCIACION_DIRECTA_HIJO = 14;
	private static final int DEPENDENCIA_PADRE = 15;
	private static final int DEPENDENCIA_HIJO = 16;
	private static final int ONE_ONE_NOT_NULL_FATHER = 17;
	private static final int ONE_ONE_NULL_FATHER = 18;
	private static final int ONE_MANY_NOT_NULL_FATHER = 19;
	private static final int ONE_MANY_NULL_FATHER = 20;
	private static final int ONE_MANY_NOT_NULL_PK_FATHER = 21;
	private static final int ONE_ONE_NOT_NULL_CHILD = 23;
	private static final int ONE_ONE_NULL_CHILD = 24;
	private static final int ONE_MANY_NOT_NULL_CHILD = 25;
	private static final int ONE_MANY_NULL_CHILD = 26;
	private static final int ONE_MANY_NOT_NULL_PK_CHILD = 27;

	private RadioGroup GroupPadre = new RadioGroup(getContext());
	private RadioGroup GroupHijo = new RadioGroup(getContext());

	public EditarConector(Context context) {
		super(context);
	}

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.modificar_conector_layout);
		setTitle("Modificar Conector");
		setCanceledOnTouchOutside(true);
		_connectorSelected = VistaDiagrama.getVista().getDiagrama()._SelectedConector;
		_compPadre = VistaDiagrama.getVista().getDiagrama()
				.getComponenteById(_connectorSelected.get_fatherId());
		_compHijo = VistaDiagrama.getVista().getDiagrama()
				.getComponenteById(_connectorSelected.get_childId());
		_conector = (LinearLayout) findViewById(R.id.globalLayout);
		_padre = (LinearLayout) findViewById(R.id.padreLayout);
		_padre.removeAllViewsInLayout();
		_hijo = (LinearLayout) findViewById(R.id.hijoLayout);
		_hijo.removeAllViewsInLayout();

		_padre.setGravity(Gravity.CENTER);
		_hijo.setGravity(Gravity.CENTER);

		this.getRadioGroups(VistaDiagrama.getVista().getDiagrama().getTipo());

		if (VistaDiagrama.getVista().getDiagrama() instanceof DiagramaER) {

			if (((_connectorSelected.get_childArrowType() == _arrowType.Asociacion) || (_connectorSelected
					.get_childArrowType() == _arrowType.Asociacion_FK))
					&& ((_connectorSelected.get_fatherArrowType() == _arrowType.Asociacion) || (_connectorSelected
							.get_fatherArrowType() == _arrowType.Asociacion_FK))) {
				_cb_padre.setVisibility(CheckBox.VISIBLE);
				_cb_hijo.setVisibility(CheckBox.VISIBLE);
			} else {
				_cb_padre.setVisibility(CheckBox.GONE);
				_cb_hijo.setVisibility(CheckBox.GONE);
			}

			if ((!_cb_hijo.isChecked() && (!_cb_padre.isChecked()))) {
				_cb_padre.setChecked(true);
			}
		}
		this.setGuardar();

	}

	private void getRadioGroups(String tipo) {
		if ((tipo.equals("Clases")) || (tipo.equals("uml"))) {
			TextView text = new TextView(getContext());
			text.setTextSize(25);
			text.setText(_compPadre.getTitulo());
			_padre.addView(text);
			this.getRadioGroupPadreClases("");
			_padre.addView(GroupPadre);
			this.getRadioGroupHijoClases("");
			text = new TextView(getContext());
			text.setTextSize(25);
			text.setText(_compHijo.getTitulo());
			_hijo.addView(text);
			_hijo.addView(GroupHijo);
			this.isherenciaMultiple();
			this.setOnChangeGroupPadre(_compPadre.getTipo());
			this.setOnChangeGroupHijo(_compHijo.getTipo());
		} else if (VistaDiagrama.getVista().getDiagrama() instanceof DiagramaER) {
			TextView text = new TextView(getContext());
			text.setTextSize(25);
			text.setText(_compPadre.getTitulo());
			_padre.addView(text);
			_cb_padre = new CheckBox(getContext());
			_cb_padre.setText("FK");
			this.getRadioGroupPadreER("");
			LinearLayout lyhor = new LinearLayout(getContext());
			lyhor.addView(GroupPadre);
			lyhor.addView(_cb_padre);
			lyhor.setGravity(Gravity.TOP);
			_padre.addView(lyhor);
			_cb_hijo = new CheckBox(getContext());
			_cb_hijo.setText("FK");
			this.getRadioGroupHijoER("");
			text = new TextView(getContext());
			text.setTextSize(25);
			text.setText(_compHijo.getTitulo());
			_hijo.addView(text);
			lyhor = new LinearLayout(getContext());
			lyhor.addView(GroupHijo);
			lyhor.addView(_cb_hijo);
			lyhor.setGravity(Gravity.TOP);
			_hijo.addView(lyhor);
			_cb_padre.setOnCheckedChangeListener(new OnCheckedChangeListener() {
				public void onCheckedChanged(CompoundButton buttonView,
						boolean isChecked) {
					if (buttonView.isChecked()) {
						_cb_hijo.setChecked(false);
					} else {
						_cb_hijo.setChecked(true);
					}
				}
			});
			_cb_hijo.setOnCheckedChangeListener(new OnCheckedChangeListener() {
				public void onCheckedChanged(CompoundButton buttonView,
						boolean isChecked) {
					if (buttonView.isChecked()) {
						_cb_padre.setChecked(false);
					} else {
						_cb_padre.setChecked(true);
					}
				}
			});
			// _hijo.addView(GroupHijo);
			this.setOnChangeGroupPadreER();
			this.setOnChangeGroupHijoER();

		} else if (VistaDiagrama.getVista().getDiagrama() instanceof DiagramaGrafos) {
			TextView text = new TextView(getContext());
			text.setTextSize(25);
			text.setText(_compPadre.getTitulo());
			_padre.addView(text);
			this.getRadioGroupPadreGrafo();
			_padre.addView(GroupPadre);
			this.getRadioGroupHijoGrafo();
			text = new TextView(getContext());
			text.setTextSize(25);
			text.setText(_compHijo.getTitulo());
			_hijo.addView(text);
			_hijo.addView(GroupHijo);
			this.setOnChangeGroupPadreGrafos();
			this.setOnChangeGroupHijoGrafos();
		}
	}

	private void getRadioGroupPadreGrafo() {
		// Asociacion
		RadioButton asociacion = new RadioButton(getContext());
		asociacion.setBackgroundResource(R.drawable.asociacion);
		asociacion.setId(EditarConector.ASOCIACION_PADRE);
		GroupPadre.addView(asociacion);

		// Asociacion Directa
		RadioButton directAsociation = new RadioButton(getContext());
		directAsociation.setBackgroundResource(R.drawable.asociacion_directa);
		directAsociation.setId(EditarConector.ASOCIACION_DIRECTA_PADRE);
		GroupPadre.addView(directAsociation);

		// Generalizacion
		RadioButton generalizacion = new RadioButton(getContext());
		generalizacion.setBackgroundResource(R.drawable.generalizacion);
		generalizacion.setId(EditarConector.GENERALIZACION_PADRE);
		GroupPadre.addView(generalizacion);

		// Dashed
		RadioButton dashed = new RadioButton(getContext());
		dashed.setBackgroundResource(R.drawable.dashed);
		dashed.setId(EditarConector.DASHED_PADRE);
		GroupPadre.addView(dashed);

		// Dependencia
		RadioButton dependencia = new RadioButton(getContext());
		dependencia.setBackgroundResource(R.drawable.dependencia);
		dependencia.setId(EditarConector.DEPENDENCIA_PADRE);
		GroupPadre.addView(dependencia);

		// Realizacion
		RadioButton realizacion = new RadioButton(getContext());
		realizacion.setBackgroundResource(R.drawable.realizacion);
		realizacion.setId(EditarConector.REALIZACION_PADRE);
		GroupPadre.addView(realizacion);

		if (_connectorSelected.get_currentLineType() == CompConector.NORMAL_TYPE) {
			if (_connectorSelected.get_fatherArrowType() == _arrowType.Asociacion) {
				asociacion.setChecked(true);
			} else if (_connectorSelected.get_fatherArrowType() == _arrowType.Asociacion_Directa) {
				directAsociation.setChecked(true);
			} else if (_connectorSelected.get_fatherArrowType() == _arrowType.Herencia) {
				generalizacion.setChecked(true);
			}
		} else if (_connectorSelected.get_currentLineType() == CompConector.DASHED_TYPE) {
			if (_connectorSelected.get_fatherArrowType() == _arrowType.Asociacion) {
				dashed.setChecked(true);
			} else if (_connectorSelected.get_fatherArrowType() == _arrowType.Asociacion_Directa) {
				dependencia.setChecked(true);
			} else if (_connectorSelected.get_fatherArrowType() == _arrowType.Herencia) {
				realizacion.setChecked(true);
			}
		}
	}

	private void getRadioGroupPadreClases(String conectorPadre) {

		// Asociacion
		RadioButton asociacion = new RadioButton(getContext());
		asociacion.setBackgroundResource(R.drawable.asociacion);
		asociacion.setId(EditarConector.ASOCIACION_PADRE);
		GroupPadre.addView(asociacion);

		// Asociacion Directa
		RadioButton directAsociation = new RadioButton(getContext());
		directAsociation.setBackgroundResource(R.drawable.asociacion_directa);
		directAsociation.setId(EditarConector.ASOCIACION_DIRECTA_PADRE);
		GroupPadre.addView(directAsociation);

		// Dependencia
		RadioButton dependencia = new RadioButton(getContext());
		dependencia.setBackgroundResource(R.drawable.dependencia);
		dependencia.setId(EditarConector.DEPENDENCIA_PADRE);
		GroupPadre.addView(dependencia);

		// Generalizacion
		RadioButton generalizacion = new RadioButton(getContext());
		generalizacion.setBackgroundResource(R.drawable.generalizacion);
		generalizacion.setId(EditarConector.GENERALIZACION_PADRE);
		GroupPadre.addView(generalizacion);

		// Composicion
		RadioButton composicion = new RadioButton(getContext());
		composicion.setBackgroundResource(R.drawable.composicion);
		composicion.setId(EditarConector.COMPOSICION_PADRE);
		GroupPadre.addView(composicion);

		// agregacion
		RadioButton agregacion = new RadioButton(getContext());
		agregacion.setBackgroundResource(R.drawable.agregacion);
		agregacion.setId(EditarConector.AGREGACION_PADRE);
		GroupPadre.addView(agregacion);

		// Realizacion
		RadioButton realizacion = new RadioButton(getContext());
		realizacion.setBackgroundResource(R.drawable.realizacion);
		realizacion.setId(EditarConector.REALIZACION_PADRE);
		GroupPadre.addView(realizacion);

		// Dashed
		RadioButton dashed = new RadioButton(getContext());
		dashed.setBackgroundResource(R.drawable.dashed);
		dashed.setId(EditarConector.DASHED_PADRE);
		GroupPadre.addView(dashed);

		// if
		// ((!this.isherenciaMultiple(_compPadre))||(!this.isherenciaMultiple(_compHijo)))
		// generalizacion.setEnabled(false);

		if (_compPadre instanceof CompInterface) {
			generalizacion.setEnabled(false);
			composicion.setEnabled(false);
			agregacion.setEnabled(false);
			directAsociation.setEnabled(false);
			dependencia.setEnabled(false);
		} else {
			realizacion.setEnabled(false);
		}

		if (_compHijo instanceof CompInterface) {
			generalizacion.setEnabled(false);
		}
		// else {
		// realizacion.setEnabled(false);
		// }

		if (conectorPadre.equals("no-dashed")) {
			asociacion.setChecked(true);
		} else if (conectorPadre.equals("dashed")) {
			dashed.setChecked(true);
		}

		if (conectorPadre.equals("")) {
			if ((_connectorSelected.get_fatherArrowType() == _arrowType.Asociacion)
					&& (_connectorSelected.get_currentLineType() == CompConector.NORMAL_TYPE))// asociacion
				asociacion.setChecked(true);
			else if ((_connectorSelected.get_fatherArrowType() == _arrowType.Asociacion)
					&& (_connectorSelected.get_currentLineType() == CompConector.DASHED_TYPE))// dashed
				dashed.setChecked(true);
			else if ((_connectorSelected.get_fatherArrowType() == _arrowType.Herencia)
					&& (_connectorSelected.get_currentLineType() == CompConector.NORMAL_TYPE))// generalizacion
				generalizacion.setChecked(true);
			else if ((_connectorSelected.get_fatherArrowType() == _arrowType.Herencia)
					&& (_connectorSelected.get_currentLineType() == CompConector.DASHED_TYPE))// realizacion
				realizacion.setChecked(true);
			else if ((_connectorSelected.get_fatherArrowType() == _arrowType.Asociacion_Directa)
					&& (_connectorSelected.get_currentLineType() == CompConector.NORMAL_TYPE))// asociacion
																								// directa
				directAsociation.setChecked(true);
			else if ((_connectorSelected.get_fatherArrowType() == _arrowType.Asociacion_Directa)
					&& (_connectorSelected.get_currentLineType() == CompConector.DASHED_TYPE))// dependencia
				dependencia.setChecked(true);
			else if ((_connectorSelected.get_fatherArrowType() == _arrowType.Agregacion)
					&& (_connectorSelected.get_currentLineType() == CompConector.NORMAL_TYPE))// agregacion
				agregacion.setChecked(true);
			else if ((_connectorSelected.get_fatherArrowType() == _arrowType.Composicion)
					&& (_connectorSelected.get_currentLineType() == CompConector.NORMAL_TYPE))// composicion
				composicion.setChecked(true);
		}
	}

	private void getRadioGroupHijoGrafo() {
		// Asociacion
		RadioButton asociacion = new RadioButton(getContext());
		asociacion.setBackgroundResource(R.drawable.asociacion);
		asociacion.setId(EditarConector.ASOCIACION_HIJO);
		GroupHijo.addView(asociacion);

		// Asociacion Directa
		RadioButton directAsociation = new RadioButton(getContext());
		directAsociation.setBackgroundResource(R.drawable.asociacion_directa);
		directAsociation.setId(EditarConector.ASOCIACION_DIRECTA_HIJO);
		GroupHijo.addView(directAsociation);

		// Generalizacion
		RadioButton generalizacion = new RadioButton(getContext());
		generalizacion.setBackgroundResource(R.drawable.generalizacion);
		generalizacion.setId(EditarConector.GENERALIZACION_HIJO);
		GroupHijo.addView(generalizacion);

		// Dashed
		RadioButton dashedHijo = new RadioButton(getContext());
		dashedHijo.setBackgroundResource(R.drawable.dashed);
		dashedHijo.setId(EditarConector.DASHED_HIJO);
		GroupHijo.addView(dashedHijo);

		// Dependencia
		RadioButton dependencia = new RadioButton(getContext());
		dependencia.setBackgroundResource(R.drawable.dependencia);
		dependencia.setId(EditarConector.DEPENDENCIA_HIJO);
		GroupHijo.addView(dependencia);

		// Realizacion
		RadioButton realizacion = new RadioButton(getContext());
		realizacion.setBackgroundResource(R.drawable.realizacion);
		realizacion.setId(EditarConector.REALIZACION_HIJO);
		GroupHijo.addView(realizacion);

		if (_connectorSelected.get_currentLineType() == CompConector.NORMAL_TYPE) {
			if (_connectorSelected.get_childArrowType() == _arrowType.Asociacion) {
				asociacion.setChecked(true);
			} else if (_connectorSelected.get_childArrowType() == _arrowType.Asociacion_Directa) {
				directAsociation.setChecked(true);
			} else if (_connectorSelected.get_childArrowType() == _arrowType.Herencia) {
				generalizacion.setChecked(true);
			}
		} else if (_connectorSelected.get_currentLineType() == CompConector.DASHED_TYPE) {
			if (_connectorSelected.get_childArrowType() == _arrowType.Asociacion) {
				dashedHijo.setChecked(true);
			} else if (_connectorSelected.get_childArrowType() == _arrowType.Asociacion_Directa) {
				dependencia.setChecked(true);
			} else if (_connectorSelected.get_childArrowType() == _arrowType.Herencia) {
				realizacion.setChecked(true);
			}
		}
	}

	private void getRadioGroupHijoClases(String conectorHijo) {

		// Asociacion
		RadioButton asociacion = new RadioButton(getContext());
		asociacion.setBackgroundResource(R.drawable.asociacion);
		asociacion.setId(EditarConector.ASOCIACION_HIJO);
		GroupHijo.addView(asociacion);

		// Asociacion Directa
		RadioButton directAsociation = new RadioButton(getContext());
		directAsociation.setBackgroundResource(R.drawable.asociacion_directa);
		directAsociation.setId(EditarConector.ASOCIACION_DIRECTA_HIJO);
		GroupHijo.addView(directAsociation);

		// Dependencia
		RadioButton dependencia = new RadioButton(getContext());
		dependencia.setBackgroundResource(R.drawable.dependencia);
		dependencia.setId(EditarConector.DEPENDENCIA_HIJO);
		GroupHijo.addView(dependencia);

		// Generalizacion
		RadioButton generalizacion = new RadioButton(getContext());
		generalizacion.setBackgroundResource(R.drawable.generalizacion);
		generalizacion.setId(EditarConector.GENERALIZACION_HIJO);
		GroupHijo.addView(generalizacion);

		// Composicion
		RadioButton composicion = new RadioButton(getContext());
		composicion.setBackgroundResource(R.drawable.composicion);
		composicion.setId(EditarConector.COMPOSICION_HIJO);
		GroupHijo.addView(composicion);

		// agregacion
		RadioButton agregacion = new RadioButton(getContext());
		agregacion.setBackgroundResource(R.drawable.agregacion);
		agregacion.setId(EditarConector.AGREGACION_HIJO);
		GroupHijo.addView(agregacion);

		// Realizacion
		RadioButton realizacion = new RadioButton(getContext());
		realizacion.setBackgroundResource(R.drawable.realizacion);
		realizacion.setId(EditarConector.REALIZACION_HIJO);
		GroupHijo.addView(realizacion);

		// Dashed
		RadioButton dashedHijo = new RadioButton(getContext());
		dashedHijo.setBackgroundResource(R.drawable.dashed);
		dashedHijo.setId(EditarConector.DASHED_HIJO);
		GroupHijo.addView(dashedHijo);

		if (conectorHijo.equals("no-dashed")) {
			asociacion.setChecked(true);
		} else if (conectorHijo.equals("dashed")) {
			dashedHijo.setChecked(true);
		}

		if (_compPadre instanceof CompInterface) {
			generalizacion.setEnabled(false);
		} else {
			realizacion.setEnabled(false);
		}

		if (_compHijo instanceof CompInterface) {
			generalizacion.setEnabled(false);
			composicion.setEnabled(false);
			agregacion.setEnabled(false);
		} else {
			realizacion.setEnabled(false);
		}

		if (conectorHijo.equals("")) {
			if ((_connectorSelected.get_childArrowType() == _arrowType.Asociacion)
					&& (_connectorSelected.get_currentLineType() == CompConector.NORMAL_TYPE))// asociacion
				asociacion.setChecked(true);
			else if ((_connectorSelected.get_childArrowType() == _arrowType.Asociacion)
					&& (_connectorSelected.get_currentLineType() == CompConector.DASHED_TYPE))// dashed
				dashedHijo.setChecked(true);
			else if ((_connectorSelected.get_childArrowType() == _arrowType.Herencia)
					&& (_connectorSelected.get_currentLineType() == CompConector.NORMAL_TYPE))// generalizacion
				generalizacion.setChecked(true);
			else if ((_connectorSelected.get_childArrowType() == _arrowType.Herencia)
					&& (_connectorSelected.get_currentLineType() == CompConector.DASHED_TYPE))// realizacion
				realizacion.setChecked(true);
			else if ((_connectorSelected.get_childArrowType() == _arrowType.Asociacion_Directa)
					&& (_connectorSelected.get_currentLineType() == CompConector.NORMAL_TYPE))// asociacion
																								// directa
				directAsociation.setChecked(true);
			else if ((_connectorSelected.get_fatherArrowType() == _arrowType.Asociacion_Directa)
					&& (_connectorSelected.get_currentLineType() == 2))// dependencia
				dependencia.setChecked(true);
			else if ((_connectorSelected.get_childArrowType() == _arrowType.Agregacion)
					&& (_connectorSelected.get_currentLineType() == CompConector.NORMAL_TYPE))// agregacion
				agregacion.setChecked(true);
			else if ((_connectorSelected.get_childArrowType() == _arrowType.Composicion)
					&& (_connectorSelected.get_currentLineType() == CompConector.NORMAL_TYPE))// composicion
				composicion.setChecked(true);

		}
	}

	private void getRadioGroupHijoER(String string) {
		// uno uno not null
		RadioButton one_one_not_null = new RadioButton(getContext());
		one_one_not_null.setBackgroundResource(R.drawable.uno_uno__not_null);
		one_one_not_null.setId(EditarConector.ONE_ONE_NOT_NULL_CHILD);
		GroupHijo.addView(one_one_not_null);

		// uno uno null
		RadioButton one_one_null = new RadioButton(getContext());
		one_one_null.setBackgroundResource(R.drawable.uno_uno_null);
		one_one_null.setId(EditarConector.ONE_ONE_NULL_CHILD);
		GroupHijo.addView(one_one_null);

		// uno muchos not null
		RadioButton one_many_not_null = new RadioButton(getContext());
		one_many_not_null.setBackgroundResource(R.drawable.uno_muchos_not_null);
		one_many_not_null.setId(EditarConector.ONE_MANY_NOT_NULL_CHILD);
		GroupHijo.addView(one_many_not_null);

		// uno muchos ull
		RadioButton one_many_null = new RadioButton(getContext());
		one_many_null.setBackgroundResource(R.drawable.uno_muchos_null);
		one_many_null.setId(EditarConector.ONE_MANY_NULL_CHILD);
		GroupHijo.addView(one_many_null);

		// uno muchos not null pk
		RadioButton one_many_not_null_pk = new RadioButton(getContext());
		one_many_not_null_pk
				.setBackgroundResource(R.drawable.uno_muchos_not_null_pk);
		one_many_not_null_pk.setId(EditarConector.ONE_MANY_NOT_NULL_PK_CHILD);
		GroupHijo.addView(one_many_not_null_pk);

		// // uno muchos null pk
		// RadioButton one_many_null_pk = new RadioButton(getContext());
		// one_many_null_pk.setBackgroundResource(R.drawable.uno_muchos_null_pk);
		// one_many_null_pk.setId(EditarConector.ONE_MANY_NULL_PK_CHILD);
		// GroupHijo.addView(one_many_null_pk);

		if (_connectorSelected.get_childArrowType() == _arrowType.Asociacion_FK) {
			_cb_hijo.setChecked(true);
		}

		if (((_connectorSelected.get_childArrowType() == _arrowType.Asociacion) || (_connectorSelected
				.get_childArrowType() == _arrowType.Asociacion_FK))
				&& ((_connectorSelected.get_currentLineType() == CompConector.FATHER_SIDE_DASHED) || (_connectorSelected
						.get_currentLineType() == CompConector.NORMAL_TYPE))) {
			one_one_not_null.setChecked(true);
			_conectorHijo = ONE_ONE_NOT_NULL_CHILD;
		} else if ((_connectorSelected.get_childArrowType() == _arrowType.Asociacion)
				&& ((_connectorSelected.get_currentLineType() == CompConector.CHILD_SIDE_DASHED) || (_connectorSelected
						.get_currentLineType() == CompConector.DASHED_TYPE))) {
			one_one_null.setChecked(true);
			_conectorHijo = ONE_ONE_NULL_CHILD;
		} else if ((_connectorSelected.get_childArrowType() == _arrowType.PataDeGallo)
				&& ((_connectorSelected.get_currentLineType() == CompConector.FATHER_SIDE_DASHED) || (_connectorSelected
						.get_currentLineType() == CompConector.NORMAL_TYPE))) {
			one_many_not_null.setChecked(true);
			_conectorHijo = ONE_MANY_NOT_NULL_CHILD;
		} else if ((_connectorSelected.get_childArrowType() == _arrowType.PataDeGallo)
				&& ((_connectorSelected.get_currentLineType() == CompConector.CHILD_SIDE_DASHED) || (_connectorSelected
						.get_currentLineType() == CompConector.DASHED_TYPE))) {
			one_many_null.setChecked(true);
			_conectorHijo = ONE_MANY_NULL_CHILD;
		} else if ((_connectorSelected.get_childArrowType() == _arrowType.PataDeGallo_PK)
				&& ((_connectorSelected.get_currentLineType() == CompConector.FATHER_SIDE_DASHED) || (_connectorSelected
						.get_currentLineType() == CompConector.NORMAL_TYPE))) {
			one_many_not_null_pk.setChecked(true);
			_conectorHijo = ONE_MANY_NOT_NULL_PK_CHILD;
		}
	}

	private void getRadioGroupPadreER(String string) {
		// uno uno not null
		RadioButton one_one_not_null = new RadioButton(getContext());
		one_one_not_null.setBackgroundResource(R.drawable.uno_uno__not_null);
		one_one_not_null.setId(EditarConector.ONE_ONE_NOT_NULL_FATHER);
		GroupPadre.addView(one_one_not_null);

		// uno uno null
		RadioButton one_one_null = new RadioButton(getContext());
		one_one_null.setBackgroundResource(R.drawable.uno_uno_null);
		one_one_null.setId(EditarConector.ONE_ONE_NULL_FATHER);
		GroupPadre.addView(one_one_null);

		// uno muchos not null
		RadioButton one_many_not_null = new RadioButton(getContext());
		one_many_not_null.setBackgroundResource(R.drawable.uno_muchos_not_null);
		one_many_not_null.setId(EditarConector.ONE_MANY_NOT_NULL_FATHER);
		GroupPadre.addView(one_many_not_null);

		// uno muchos ull
		RadioButton one_many_null = new RadioButton(getContext());
		one_many_null.setBackgroundResource(R.drawable.uno_muchos_null);
		one_many_null.setId(EditarConector.ONE_MANY_NULL_FATHER);
		GroupPadre.addView(one_many_null);

		// uno muchos not null pk
		RadioButton one_many_not_null_pk = new RadioButton(getContext());
		one_many_not_null_pk
				.setBackgroundResource(R.drawable.uno_muchos_not_null_pk);
		one_many_not_null_pk.setId(EditarConector.ONE_MANY_NOT_NULL_PK_FATHER);
		GroupPadre.addView(one_many_not_null_pk);
		// s
		// // uno muchos null pk
		// RadioButton one_many_null_pk = new RadioButton(getContext());
		// one_many_null_pk.setBackgroundResource(R.drawable.uno_muchos_null_pk);
		// one_many_null_pk.setId(EditarConector.ONE_MANY_NULL_PK_FATHER);
		// GroupPadre.addView(one_many_null_pk);

		if (_connectorSelected.get_fatherArrowType() == _arrowType.Asociacion_FK) {
			_cb_padre.setChecked(true);
		}

		if (((_connectorSelected.get_fatherArrowType() == _arrowType.Asociacion) || (_connectorSelected
				.get_fatherArrowType() == _arrowType.Asociacion_FK))
				&& ((_connectorSelected.get_currentLineType() == CompConector.CHILD_SIDE_DASHED) || (_connectorSelected
						.get_currentLineType() == CompConector.NORMAL_TYPE))) {
			one_one_not_null.setChecked(true);
			_conectorPadre = ONE_ONE_NOT_NULL_FATHER;
		} else if ((_connectorSelected.get_fatherArrowType() == _arrowType.Asociacion)
				&& ((_connectorSelected.get_currentLineType() == CompConector.FATHER_SIDE_DASHED) || (_connectorSelected
						.get_currentLineType() == CompConector.DASHED_TYPE))) {
			one_one_null.setChecked(true);
			_conectorPadre = ONE_ONE_NULL_FATHER;
		} else if ((_connectorSelected.get_fatherArrowType() == _arrowType.PataDeGallo)
				&& ((_connectorSelected.get_currentLineType() == CompConector.CHILD_SIDE_DASHED) || (_connectorSelected
						.get_currentLineType() == CompConector.NORMAL_TYPE))) {
			one_many_not_null.setChecked(true);
			_conectorPadre = ONE_MANY_NOT_NULL_FATHER;
		} else if ((_connectorSelected.get_fatherArrowType() == _arrowType.PataDeGallo)
				&& ((_connectorSelected.get_currentLineType() == CompConector.FATHER_SIDE_DASHED) || (_connectorSelected
						.get_currentLineType() == CompConector.DASHED_TYPE))) {
			one_many_null.setChecked(true);
			_conectorPadre = ONE_MANY_NULL_FATHER;
		} else if ((_connectorSelected.get_fatherArrowType() == _arrowType.PataDeGallo_PK)
				&& ((_connectorSelected.get_currentLineType() == CompConector.CHILD_SIDE_DASHED) || (_connectorSelected
						.get_currentLineType() == CompConector.NORMAL_TYPE))) {
			one_many_not_null_pk.setChecked(true);
			_conectorPadre = ONE_MANY_NOT_NULL_PK_FATHER;
		}
		// else if ((_connectorSelected.get_fatherArrowType() ==
		// _arrowType.PataDeGallo_PK)
		// && ((_connectorSelected.get_currentLineType() ==
		// CompConector.FATHER_SIDE_DASHED) || (_connectorSelected
		// .get_currentLineType() == CompConector.DASHED_TYPE))) {
		// one_many_null.setChecked(true);
		// }
	}
	
	private void setOnChangeGroupHijoGrafos() {
		GroupHijo
				.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
					public void onCheckedChanged(RadioGroup group, int checkedId) {
						_conectorHijo = checkedId;
						RadioButton rg;

						if (checkedId == EditarConector.DASHED_HIJO) {
							RadioButton rb_dashed = (RadioButton) findViewById(EditarConector.ASOCIACION_PADRE);
							RadioButton rb_dependencia_hijo = (RadioButton) findViewById(EditarConector.ASOCIACION_DIRECTA_PADRE);
							RadioButton rb_realizacion_hijo = (RadioButton) findViewById(EditarConector.GENERALIZACION_PADRE);
							if (rb_dashed.isChecked()
									|| rb_dependencia_hijo.isChecked()
									|| rb_realizacion_hijo.isChecked()) {
								rg = (RadioButton) findViewById(EditarConector.DASHED_PADRE);
								rg.setChecked(true);
							}
						}

						if (checkedId == EditarConector.ASOCIACION_HIJO) {
							RadioButton rb_dashed = (RadioButton) findViewById(EditarConector.DASHED_PADRE);
							RadioButton rb_dependencia_hijo = (RadioButton) findViewById(EditarConector.DEPENDENCIA_PADRE);
							RadioButton rb_realizacion_hijo = (RadioButton) findViewById(EditarConector.REALIZACION_PADRE);
							if (rb_dashed.isChecked()
									|| rb_dependencia_hijo.isChecked()
									|| rb_realizacion_hijo.isChecked()) {
								rg = (RadioButton) findViewById(EditarConector.ASOCIACION_PADRE);
								rg.setChecked(true);
							}
						}

						if ((checkedId == EditarConector.ASOCIACION_DIRECTA_HIJO)
								|| (checkedId == EditarConector.GENERALIZACION_HIJO)) {
							rg = (RadioButton) findViewById(EditarConector.ASOCIACION_PADRE);
							rg.setChecked(true);
						} else if ((checkedId == EditarConector.DEPENDENCIA_HIJO)
								|| (checkedId == EditarConector.REALIZACION_HIJO)) {
							rg = (RadioButton) findViewById(EditarConector.DASHED_PADRE);
							rg.setChecked(true);
						}

						if ((checkedId == EditarConector.ASOCIACION_HIJO)
								|| (checkedId == EditarConector.ASOCIACION_DIRECTA_HIJO)
								|| (checkedId == EditarConector.GENERALIZACION_HIJO)) {
							_lineType = CompConector.NORMAL_TYPE;

						} else {
							_lineType = CompConector.DASHED_TYPE;

						}
					}
				});
	}

	private void setOnChangeGroupHijo(String tipo) {
		GroupHijo
				.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
					public void onCheckedChanged(RadioGroup group, int checkedId) {
						_conectorHijo = checkedId;
						_padre.removeAllViews();
						TextView text = new TextView(getContext());
						text.setTextSize(25);
						text.setText(_compPadre.getTitulo());
						_padre.addView(text);
						GroupPadre = new RadioGroup(getContext());
						if ((checkedId == EditarConector.AGREGACION_HIJO)
								|| (checkedId == EditarConector.ASOCIACION_HIJO)
								|| (checkedId == EditarConector.ASOCIACION_DIRECTA_HIJO)
								|| (checkedId == EditarConector.GENERALIZACION_HIJO)
								|| (checkedId == EditarConector.COMPOSICION_HIJO)) {
							EditarConector.this
									.getRadioGroupPadreClases("no-dashed");
							_conectorPadre = ASOCIACION_PADRE;
							_lineType = CompConector.NORMAL_TYPE;
						} else {
							EditarConector.this
									.getRadioGroupPadreClases("dashed");
							_conectorPadre = ASOCIACION_PADRE;
							_lineType = CompConector.DASHED_TYPE;
						}
						_padre.addView(GroupPadre);
						EditarConector.this.isherenciaMultiple();
						EditarConector.this.setOnChangeGroupPadre(_compPadre
								.getTipo());
					}
				});
	}

	private void setOnChangeGroupPadreGrafos() {
		GroupPadre
				.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
					public void onCheckedChanged(RadioGroup group, int checkedId) {
						_conectorPadre = checkedId;
						RadioButton rg;

						if (checkedId == EditarConector.ASOCIACION_PADRE) {
							RadioButton rb_dashed = (RadioButton) findViewById(EditarConector.DASHED_HIJO);
							RadioButton rb_dependencia_padre = (RadioButton) findViewById(EditarConector.DEPENDENCIA_HIJO);
							RadioButton rb_realizacion_padre = (RadioButton) findViewById(EditarConector.REALIZACION_HIJO);
							if (rb_dashed.isChecked()
									|| rb_dependencia_padre.isChecked()
									|| rb_realizacion_padre.isChecked()) {
								rg = (RadioButton) findViewById(EditarConector.ASOCIACION_HIJO);
								rg.setChecked(true);
							}
						}

						if (checkedId == EditarConector.DASHED_PADRE) {
							RadioButton rb_dashed = (RadioButton) findViewById(EditarConector.ASOCIACION_HIJO);
							RadioButton rb_dependencia_hijo = (RadioButton) findViewById(EditarConector.ASOCIACION_DIRECTA_HIJO);
							RadioButton rb_realizacion_hijo = (RadioButton) findViewById(EditarConector.GENERALIZACION_HIJO);
							if (rb_dashed.isChecked()
									|| rb_dependencia_hijo.isChecked()
									|| rb_realizacion_hijo.isChecked()) {
								rg = (RadioButton) findViewById(EditarConector.DASHED_HIJO);
								rg.setChecked(true);
							}
						}

						if ((checkedId == EditarConector.ASOCIACION_DIRECTA_PADRE)
								|| (checkedId == EditarConector.GENERALIZACION_PADRE)) {
							rg = (RadioButton) findViewById(EditarConector.ASOCIACION_HIJO);
							rg.setChecked(true);
						} else if ((checkedId == EditarConector.DEPENDENCIA_PADRE)
								|| (checkedId == EditarConector.REALIZACION_PADRE)) {
							rg = (RadioButton) findViewById(EditarConector.DASHED_HIJO);
							rg.setChecked(true);
						}

						if ((checkedId == EditarConector.ASOCIACION_PADRE)
								|| (checkedId == EditarConector.ASOCIACION_DIRECTA_PADRE)
								|| (checkedId == EditarConector.GENERALIZACION_PADRE)) {
							_lineType = CompConector.NORMAL_TYPE;

						} else {
							_lineType = CompConector.DASHED_TYPE;
						}
					}
				});
	}

	private void setOnChangeGroupPadre(String tipo) {
		GroupPadre
				.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
					public void onCheckedChanged(RadioGroup group, int checkedId) {
						_conectorPadre = checkedId;
						_hijo.removeAllViews();
						TextView text = new TextView(getContext());
						text.setTextSize(25);
						text.setText(_compHijo.getTitulo());
						_hijo.addView(text);
						GroupHijo = new RadioGroup(getContext());
						if ((checkedId == EditarConector.AGREGACION_PADRE)
								|| (checkedId == EditarConector.ASOCIACION_PADRE)
								|| (checkedId == EditarConector.ASOCIACION_DIRECTA_PADRE)
								|| (checkedId == EditarConector.GENERALIZACION_PADRE)
								|| (checkedId == EditarConector.COMPOSICION_PADRE)) {
							EditarConector.this
									.getRadioGroupHijoClases("no-dashed");
							_conectorHijo = ASOCIACION_HIJO;
							_lineType = CompConector.NORMAL_TYPE;
						} else {
							EditarConector.this
									.getRadioGroupHijoClases("dashed");
							_conectorHijo = DASHED_HIJO;
							_lineType = CompConector.DASHED_TYPE;
						}
						_hijo.addView(GroupHijo);
						EditarConector.this.isherenciaMultiple();
						EditarConector.this.setOnChangeGroupHijo(_compHijo
								.getTipo());
					}
				});
	}

	private void setOnChangeGroupHijoER() {
		GroupHijo
				.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
					public void onCheckedChanged(RadioGroup group, int checkedId) {
						_conectorHijo = checkedId;
						if ((_conectorHijo == ONE_MANY_NOT_NULL_CHILD)
								|| (_conectorHijo == ONE_MANY_NULL_CHILD)
								|| (_conectorHijo == ONE_MANY_NOT_NULL_PK_CHILD)) {
							if ((_conectorPadre == ONE_MANY_NOT_NULL_FATHER)
									|| (_conectorPadre == ONE_MANY_NULL_FATHER)
									|| (_conectorPadre == ONE_MANY_NOT_NULL_PK_FATHER)) {
								RadioButton rb = (RadioButton) findViewById(ONE_ONE_NOT_NULL_FATHER);
								rb.setChecked(true);
							}
						}
						if (_conectorHijo != ONE_ONE_NOT_NULL_CHILD) {
							// _cb_hijo.setChecked(false);
							_cb_hijo.setVisibility(CheckBox.GONE);
							// _cb_padre.setChecked(false);
							_cb_padre.setVisibility(CheckBox.GONE);
						} else {
							if (_conectorPadre == ONE_ONE_NOT_NULL_FATHER) {
								// if(_connectorSelected.get_childArrowType() ==
								// _arrowType.Asociacion_FK)
								// _cb_hijo.setChecked(true);
								// else if
								// (_connectorSelected.get_fatherArrowType() ==
								// _arrowType.Asociacion_FK)
								// _cb_padre.setChecked(true);
								_cb_padre.setVisibility(CheckBox.VISIBLE);
								// _cb_hijo.setChecked(false);
								_cb_hijo.setVisibility(CheckBox.VISIBLE);
							}
						}
					}
				});
	}

	private void setOnChangeGroupPadreER() {
		GroupPadre
				.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
					public void onCheckedChanged(RadioGroup group, int checkedId) {
						_conectorPadre = checkedId;
						if ((_conectorPadre == ONE_MANY_NOT_NULL_FATHER)
								|| (_conectorPadre == ONE_MANY_NULL_FATHER)
								|| (_conectorPadre == ONE_MANY_NOT_NULL_PK_FATHER)) {
							if ((_conectorHijo == ONE_MANY_NOT_NULL_CHILD)
									|| (_conectorHijo == ONE_MANY_NULL_CHILD)
									|| (_conectorHijo == ONE_MANY_NOT_NULL_PK_CHILD)) {
								RadioButton rb = (RadioButton) findViewById(ONE_ONE_NOT_NULL_CHILD);
								rb.setChecked(true);
							}
						}
						if (_conectorPadre != ONE_ONE_NOT_NULL_FATHER) {
							_cb_hijo.setChecked(false);
							_cb_hijo.setVisibility(CheckBox.GONE);
							_cb_padre.setChecked(false);
							_cb_padre.setVisibility(CheckBox.GONE);
						} else {
							if (_conectorHijo == ONE_ONE_NOT_NULL_CHILD) {
								_cb_padre.setChecked(true);
								_cb_padre.setVisibility(CheckBox.VISIBLE);
								_cb_hijo.setChecked(false);
								_cb_hijo.setVisibility(CheckBox.VISIBLE);
							}
						}
					}
				});
	}

	private void setGuardar() {
		LinearLayout layoutButton = new LinearLayout(getContext());
		Button buttonOk = new Button(getContext());
		buttonOk.setText("Guardar");
		layoutButton.addView(buttonOk);
		if (VistaDiagrama.getVista().getDiagrama() instanceof DiagramaER) {
			buttonOk.setOnClickListener(new Button.OnClickListener() {
				public void onClick(View v) {
					EditarConector.this.guardarER();
				}
			});
		} else if ((VistaDiagrama.getVista().getDiagrama() instanceof DiagramaClases)
				|| (VistaDiagrama.getVista().getDiagrama() instanceof DiagramaUml)) {
			buttonOk.setOnClickListener(new Button.OnClickListener() {
				public void onClick(View v) {
					EditarConector.this.guardarClases();
				}
			});
		} else if (VistaDiagrama.getVista().getDiagrama() instanceof DiagramaGrafos) {
			buttonOk.setOnClickListener(new Button.OnClickListener() {
				public void onClick(View v) {
					EditarConector.this.guardarGrafos();
				}
			});
		}
		_conector.addView(layoutButton);
	}

	protected void guardarGrafos() {
		if ((_conectorPadre == EditarConector.ASOCIACION_PADRE)
				|| (_conectorPadre == EditarConector.DASHED_PADRE))
			_connectorSelected.set_fatherArrowType(_arrowType.Asociacion);
		else if ((_conectorPadre == EditarConector.ASOCIACION_DIRECTA_PADRE)
				|| (_conectorPadre == EditarConector.DEPENDENCIA_PADRE))
			_connectorSelected
					.set_fatherArrowType(_arrowType.Asociacion_Directa);
		else if ((_conectorPadre == EditarConector.GENERALIZACION_PADRE)
				||(_conectorPadre == EditarConector.REALIZACION_PADRE))
			_connectorSelected.set_fatherArrowType(_arrowType.Herencia);
		if ((_conectorHijo == EditarConector.ASOCIACION_HIJO)
				|| (_conectorHijo == EditarConector.DASHED_HIJO))
			_connectorSelected.set_childArrowType(_arrowType.Asociacion);
		else if ((_conectorHijo == EditarConector.ASOCIACION_DIRECTA_HIJO)
				|| (_conectorHijo == EditarConector.DEPENDENCIA_HIJO))
			_connectorSelected
					.set_childArrowType(_arrowType.Asociacion_Directa);
		else if ((_conectorHijo == EditarConector.GENERALIZACION_HIJO)
				||(_conectorHijo == EditarConector.REALIZACION_HIJO))
			_connectorSelected.set_childArrowType(_arrowType.Herencia);
		_connectorSelected.set_currentLineType(_lineType);
		EditarConector.this.dismiss();
		VistaDiagrama.getVista().resetMenu("conector");
	}

	protected void guardarClases() {
		if ((_conectorPadre == EditarConector.ASOCIACION_PADRE)
				|| (_conectorPadre == EditarConector.DASHED_PADRE))
			_connectorSelected.set_fatherArrowType(_arrowType.Asociacion);
		else if ((_conectorPadre == EditarConector.GENERALIZACION_PADRE)
				|| (_conectorPadre == EditarConector.REALIZACION_PADRE))
			_connectorSelected.set_fatherArrowType(_arrowType.Herencia);
		else if ((_conectorPadre == EditarConector.ASOCIACION_DIRECTA_PADRE)
				|| (_conectorPadre == EditarConector.DEPENDENCIA_PADRE))
			_connectorSelected
					.set_fatherArrowType(_arrowType.Asociacion_Directa);
		else if ((_conectorPadre == EditarConector.AGREGACION_PADRE))
			_connectorSelected.set_fatherArrowType(_arrowType.Agregacion);
		else if ((_conectorPadre == EditarConector.COMPOSICION_PADRE))
			_connectorSelected.set_fatherArrowType(_arrowType.Composicion);
		if ((_conectorHijo == EditarConector.ASOCIACION_HIJO)
				|| (_conectorHijo == EditarConector.DASHED_HIJO))
			_connectorSelected.set_childArrowType(_arrowType.Asociacion);
		else if ((_conectorHijo == EditarConector.GENERALIZACION_HIJO)
				|| (_conectorHijo == EditarConector.REALIZACION_HIJO))
			_connectorSelected.set_childArrowType(_arrowType.Herencia);
		else if ((_conectorHijo == EditarConector.ASOCIACION_DIRECTA_HIJO)
				|| (_conectorHijo == EditarConector.DEPENDENCIA_HIJO))
			_connectorSelected
					.set_childArrowType(_arrowType.Asociacion_Directa);
		else if ((_conectorHijo == EditarConector.AGREGACION_HIJO))
			_connectorSelected.set_childArrowType(_arrowType.Agregacion);
		else if ((_conectorHijo == EditarConector.COMPOSICION_HIJO))
			_connectorSelected.set_childArrowType(_arrowType.Composicion);
		_connectorSelected.set_currentLineType(_lineType);
		EditarConector.this.dismiss();
		VistaDiagrama.getVista().resetMenu("conector");
	}

	protected void guardarER() {
		// normal type padre
		if (((_conectorPadre == EditarConector.ONE_ONE_NOT_NULL_FATHER)
				|| (_conectorPadre == EditarConector.ONE_MANY_NOT_NULL_FATHER) || (_conectorPadre == EditarConector.ONE_MANY_NOT_NULL_PK_FATHER))
				&& ((_conectorHijo == EditarConector.ONE_ONE_NOT_NULL_CHILD)
						|| (_conectorHijo == EditarConector.ONE_MANY_NOT_NULL_CHILD) || (_conectorHijo == EditarConector.ONE_MANY_NOT_NULL_PK_CHILD))) {
			_lineType = CompConector.NORMAL_TYPE;
		} else if (((_conectorPadre == EditarConector.ONE_ONE_NULL_FATHER) || (_conectorPadre == EditarConector.ONE_MANY_NULL_FATHER))
				&& ((_conectorHijo == EditarConector.ONE_ONE_NULL_CHILD) || (_conectorHijo == EditarConector.ONE_MANY_NULL_CHILD))) {
			_lineType = CompConector.DASHED_TYPE;
		} else if (((_conectorPadre == EditarConector.ONE_ONE_NULL_FATHER) || (_conectorPadre == EditarConector.ONE_MANY_NULL_FATHER))
				&& ((_conectorHijo == EditarConector.ONE_ONE_NOT_NULL_CHILD)
						|| (_conectorHijo == EditarConector.ONE_MANY_NOT_NULL_CHILD) || (_conectorHijo == EditarConector.ONE_MANY_NOT_NULL_PK_CHILD))) {
			_lineType = CompConector.FATHER_SIDE_DASHED;
		} else if (((_conectorPadre == EditarConector.ONE_ONE_NOT_NULL_FATHER)
				|| (_conectorPadre == EditarConector.ONE_MANY_NOT_NULL_FATHER) || (_conectorPadre == EditarConector.ONE_MANY_NOT_NULL_PK_FATHER))
				&& ((_conectorHijo == EditarConector.ONE_ONE_NULL_CHILD) || (_conectorHijo == EditarConector.ONE_MANY_NULL_CHILD))) {
			_lineType = CompConector.CHILD_SIDE_DASHED;
		}
		_connectorSelected.set_currentLineType(_lineType);

		if ((_conectorPadre == EditarConector.ONE_ONE_NOT_NULL_FATHER)
				|| (_conectorPadre == EditarConector.ONE_ONE_NULL_FATHER)) {

			if ((_conectorHijo == ONE_ONE_NOT_NULL_CHILD)
					&& (_conectorPadre == ONE_ONE_NOT_NULL_FATHER))
				if (_cb_padre.isChecked())
					_connectorSelected
							.set_fatherArrowType(_arrowType.Asociacion_FK);
				else
					_connectorSelected
							.set_fatherArrowType(_arrowType.Asociacion);
			else
				_connectorSelected.set_fatherArrowType(_arrowType.Asociacion);
		} else if ((_conectorPadre == EditarConector.ONE_MANY_NOT_NULL_FATHER)
				|| (_conectorPadre == EditarConector.ONE_MANY_NULL_FATHER)) {
			_connectorSelected.set_fatherArrowType(_arrowType.PataDeGallo);
		} else if (_conectorPadre == EditarConector.ONE_MANY_NOT_NULL_PK_FATHER) {
			_connectorSelected.set_fatherArrowType(_arrowType.PataDeGallo_PK);
		}

		if ((_conectorHijo == EditarConector.ONE_ONE_NOT_NULL_CHILD)
				|| (_conectorHijo == EditarConector.ONE_ONE_NULL_CHILD)) {
			if ((_conectorHijo == ONE_ONE_NOT_NULL_CHILD)
					&& (_conectorPadre == ONE_ONE_NOT_NULL_FATHER))
				if (_cb_hijo.isChecked())
					_connectorSelected
							.set_childArrowType(_arrowType.Asociacion_FK);
				else
					_connectorSelected
							.set_childArrowType(_arrowType.Asociacion);
			else
				_connectorSelected.set_childArrowType(_arrowType.Asociacion);
		} else if ((_conectorHijo == EditarConector.ONE_MANY_NOT_NULL_CHILD)
				|| (_conectorHijo == EditarConector.ONE_MANY_NULL_CHILD)) {
			_connectorSelected.set_childArrowType(_arrowType.PataDeGallo);
		} else if (_conectorHijo == EditarConector.ONE_MANY_NOT_NULL_PK_CHILD) {
			_connectorSelected.set_childArrowType(_arrowType.PataDeGallo_PK);
		}
		EditarConector.this.dismiss();
		VistaDiagrama.getVista().resetMenu("conector");
	}

	private void isherenciaMultiple() {
		boolean ret_padre = true;
		boolean ret_hijo = true;
		boolean ret_final = false;

		for (CompConector conector : _compPadre.get_conectorsBegining()) {
			if ((conector.get_childArrowType() == _arrowType.Herencia)
					&& (conector.get_currentLineType() == CompConector.NORMAL_TYPE)
					&& (!_connectorSelected.equals(conector)))
				ret_padre = false;

			if ((!conector.equals(_connectorSelected))
					&& (_compPadre.getID() == conector.get_fatherId())
					&& (_compHijo.getID() == conector.get_childId()))
				ret_final = true;
		}
		for (CompConector conector : _compPadre.get_conectorsEnd()) {
			if ((conector.get_fatherArrowType() == _arrowType.Herencia)
					&& (conector.get_currentLineType() == CompConector.NORMAL_TYPE)
					&& (!_connectorSelected.equals(conector)))
				ret_padre = false;

			if ((!conector.equals(_connectorSelected))
					&& (_compPadre.getID() == conector.get_childId())
					&& (_compHijo.getID() == conector.get_fatherId()))
				ret_final = true;
		}
		for (CompConector conector : _compHijo.get_conectorsBegining()) {
			if ((conector.get_childArrowType() == _arrowType.Herencia)
					&& (conector.get_currentLineType() == CompConector.NORMAL_TYPE)
					&& (!_connectorSelected.equals(conector)))
				ret_hijo = false;

			if ((!conector.equals(_connectorSelected))
					&& (_compHijo.getID() == conector.get_fatherId())
					&& (_compPadre.getID() == conector.get_childId()))
				ret_final = true;
		}
		for (CompConector conector : _compHijo.get_conectorsEnd()) {
			if ((conector.get_fatherArrowType() == _arrowType.Herencia)
					&& (conector.get_currentLineType() == CompConector.NORMAL_TYPE)
					&& (!_connectorSelected.equals(conector)))
				ret_hijo = false;

			if ((!conector.equals(_connectorSelected))
					&& (_compHijo.getID() == conector.get_childId())
					&& (_compPadre.getID() == conector.get_fatherId()))
				ret_final = true;
		}
		if (((ret_final) && (!ret_padre)) || ((ret_final) && (!ret_hijo))) {
			((RadioButton) GroupHijo.getChildAt(3)).setEnabled(false);
			((RadioButton) GroupPadre.getChildAt(3)).setEnabled(false);
		}
		if (!ret_padre)
			((RadioButton) GroupHijo.getChildAt(3)).setEnabled(false);
		if (!ret_hijo)
			((RadioButton) GroupPadre.getChildAt(3)).setEnabled(false);

	}

}
